Перейти к основному содержимому

Links

Набор классов для извлечения ссылок со страницы сайта. Ссылки могут находиться в разных атрибутах и в разных форматах, поэтому созданы классы для извлечения ссылок в различных случаях

LinksExtractor

Абстрактный класс-шаблон для создания классов для извлечения ссылок. Извлекает только ссылки относящиеся к текущему сайту в сети мультисайт, для извлечения ссылок на другие сайты в сети мультисайт используется класс LinksExtractorMS.

Свойства:

  • public readonly HtmlDomParser $dom - HtmlDomParser из PageBuilder с помощью которого можно легко парсить html код страницы

Методы:

  • public function get_links(): array - метод, который нужно вызывать для получения ссылок со страницы. Вызывает метод get_links_from_current_site для получения ссылок с текущего сайта, но может быть переопределен для получения ссылок с нескольких сайтов в сети мультисайт
  • protected function find( string $selector ): list<SimpleHtmlDomInterface> - абстракция над HtmlDomParser для получения всех элементов страницы соответствующих селектору. В случаи возникновения ошибки выбрасывается исключение PageSkippedException
  • abstract protected function get_elements(): list<SimpleHtmlDomInterface> - возвращает массив элементов, которые имеют требуемые атрибуты для извлечения ссылок. При определении в дочерних классах метод должен использовать метод find
  • protected function get_links_from_current_site(): array - возвращает все ссылки с текущего сайта. Используется в методе get_links

LinksExtractorMS

Расширяет класс LinksExtractor для получения со страницы ссылки не только на текущий сайт в мультисети, но и на все остальные сайты

LinksExtractorStyles

Расширяет класс LinksExtractorMS

Извлекает все ссылки из элементов style и элементов с атрибутом style

LinksExtractorScripts

Расширяет класс LinksExtractorMS

Извлекает все ссылки из элементов script

LinksExtractorAttributeSrcset

Расширяет класс LinksExtractor

Извлекает все ссылки из элементов c атрибутами srcset и data-srcset

LinksExtractorAttributes

Расширяет класс LinksExtractor

Извлекает все ссылки из элементов c атрибутами href, src, data-src, poster, data-dce-background-image-url, data-lottie-url, data-rive-src, data-rive-wasm и data-rive-wasm-fallback

LinksExtractorAttributeJSON

Расширяет класс LinksExtractorMS

Извлекает все ссылки из конфигурационных атрибутов в формате json. Атрибуты: data-ep-wrapper-link, data-json data-settings и @click